package com.codegen.enums;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;

import lombok.Getter;

/**
 * 常见的单表操作
 *
 * @author LZCXTECH06
 * @date 2019年8月28日
 */
@JsonFormat(shape = Shape.OBJECT)
@Getter
public enum DefaultOperate {

    /**
     * 新增操作
     */
    SAVE("新增", false, false),

    /**
     * 修改更新操作
     */
    UPDATE("修改", false, true),
    /**
     * 删除操作
     */
    DELETE("删除", true, true),
    /**
     * 导出操作
     */
    EXPROT("导出", true, false),
    /**
     * 导入操作
     */
    IMPORT("导入", true, false);

    private DefaultOperate(String desc, boolean batchable, boolean singleable) {
        this.desc = desc;
        this.batchable = batchable;
        this.singleable = singleable;
    }

    /**
     * 操作描述（例如：新增）
     */
    private String desc;
    /**
     * 是否可以批量操作
     */
    private boolean batchable;
    /**
     * 是否可以单挑操作
     */
    private boolean singleable;

    /**
     * @return
     */
    public String getName() {
        return name();
    }
}
